package com.blackcat.annotation.value.entity;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.Resource;
import org.springframework.stereotype.Component;

/**
 * <p> 描述 : Value注解
 * @author : blackcat
 * @date  : 2020/5/25 17:45
*/
@Data
public class User {

    /** 注入普通字符 */
    @Value("cat")
    private String userName;

    /** spel方式来赋值 */
    @Value("#{28-3}")
    private Integer age;

    /**
     * 注入操作系统属性
     * 需要有系统配置文件类SystemProperties
     */
    @Value("#{systemProperties['os.name']}")
    private String osName;

    /** 注入表达式结果 */
    @Value("#{ T(java.lang.Math).random() * 100 }")
    private String randomNumber;

    /**
     * 注入配置文件
     * 1.编写配置文件 test.properties
     * 2.加载配置文件类@PropertySource
     */
    @Value("${book.name}")
    private String book;

    /** 注入网站资源 */
    @Value("http://www.baudu.com")
    private Resource url;

}
